#ifndef MATERIAL_H
#define MATERIAL_H

#include "Shader.h"

namespace mgfx
{
	class MaterialManager;

	class Material
	{
	public:

		XMCOLOR4F DiffuseColor;
		XMCOLOR4F SpecularColor; // with power in alpha channel

		Shader * Shader;
		ID3D10ShaderResourceView * DiffuseMap;
		ID3D10ShaderResourceView * NormalMap;

		friend class MaterialManager;

	private:
		Material() : DiffuseColor(Color::WHITE), SpecularColor(Color::WHITE)
		{ SpecularColor.w = 8.0f; }

		Material(Material & mat);
		Material & operator=(Material & mat);
	};

}

#endif